home *** CD-ROM | disk | FTP | other *** search
- /********************************************************************************
-
- Gnucleus - A node application for the Gnutella network
- Copyright (C) 2000 John Marshall
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
- For support, questions, comments, etc...
- E-Mail:
- swabby@c0re.net
-
- Address:
- 21 Cadogan Way
- Nashua, NH, USA 03062
-
- ********************************************************************************/
-
- #if !defined(AFX_MYHEADERCTRL_H__CC3DDBF3_EF5E_11D0_82AD_9A0A48000000__INCLUDED_)
- #define AFX_MYHEADERCTRL_H__CC3DDBF3_EF5E_11D0_82AD_9A0A48000000__INCLUDED_
-
- #if _MSC_VER >= 1000
- #pragma once
- #endif // _MSC_VER >= 1000
-
- /////////////////////////////////////////////////////////////////////////////
- // CMyHeaderCtrl window
-
- class CMyHeaderCtrl : public CHeaderCtrl
- {
- // Construction
- public:
- CMyHeaderCtrl();
- CMyHeaderCtrl(CWnd* pWnd, void (CWnd::*fpDragCol)(int, int));
- virtual ~CMyHeaderCtrl();
-
- // Attributes
- public:
-
- // Operations
- public:
- // Remove all images from the header.
- void RemoveAllSortImages();
- // Remove the image from the specified column column
- void RemoveSortImage( int iItem );
- // Set the image for the specified column
- int SetSortImage( int nCol, BOOL bAsc );
-
- // Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CMyHeaderCtrl)
- //}}AFX_VIRTUAL
-
- // Implementation
- public:
- void SetCallback(CWnd* pWnd, void (CWnd::*fpDragCol)(int, int));
-
- protected:
- BOOL m_bCheckForDrag;
- BOOL m_bDragging;
- int *m_pWidth;
- int m_nDragCol;
- int m_nDropPos;
- CRect marker_rect;
- void (CWnd::*m_fpDragCol)(int, int);
- CWnd *m_pOwnerWnd;
-
- // Currently sorted column
- int m_nSortCol;
- // Sorted ascending?
- BOOL m_bSortAsc;
-
- // Generated message map functions
- protected:
- //{{AFX_MSG(CMyHeaderCtrl)
- afx_msg void OnMouseMove(UINT nFlags, CPoint point);
- afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
- afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
- virtual void DrawItem( LPDRAWITEMSTRUCT lpDrawItemStruct );
- //}}AFX_MSG
-
- DECLARE_MESSAGE_MAP()
- };
-
- /////////////////////////////////////////////////////////////////////////////
-
- //{{AFX_INSERT_LOCATION}}
- // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
-
- #endif // !defined(AFX_MYHEADERCTRL_H__CC3DDBF3_EF5E_11D0_82AD_9A0A48000000__INCLUDED_)
-